package com.zx.flow.core.annotation;

import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import com.zx.flow.api.dict.FlowDict.StorageType;
import com.zx.flow.core.config.FlowEngineAutoConfiguration;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;

/**
 * 开启流程引擎
 *
 * @author zhangxue
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({DruidDataSourceAutoConfigure.class, FlowEngineAutoConfiguration.class})
@ComponentScan("com.zx.flow.db")
public @interface EnableLuckFlow {

    /**
     * 流程相关数据，存储方式【默认mock】
     *
     * @return
     */
    StorageType storageType() default StorageType.mock;
}
